home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / libblas / syrk.z / syrk
Text File  |  1998-10-30  |  17KB  |  265 lines

  1.  
  2.  
  3.  
  4. ____SSSSYYYYRRRRKKKK((((3333FFFF))))                                                            ____SSSSYYYYRRRRKKKK((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dsyrk, ssyrk, zsyrk, csyrk - BLAS level three  Symmetric Rank K Update.
  10.  
  11.  
  12. FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  14.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo,,,, ttttrrrraaaannnnssss
  15.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
  16.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  17.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
  18.  
  19.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  20.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo,,,, ttttrrrraaaannnnssss
  21.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
  22.            rrrreeeeaaaallll               aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  23.            rrrreeeeaaaallll               aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
  24.  
  25.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  26.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo,,,, ttttrrrraaaannnnssss
  27.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
  28.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  29.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
  30.  
  31.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  32.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo,,,, ttttrrrraaaannnnssss
  33.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc
  34.            ccccoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  35.            ccccoooommmmpppplllleeeexxxx            aaaa(((( llllddddaaaa,,,,****)))),,,, cccc((((llllddddcccc,,,,****))))
  36.  
  37.  
  38.  
  39. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  40.      vvvvooooiiiidddd ddddssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  41.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  42.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  43.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
  44.            ddddoooouuuubbbblllleeee             aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  45.            ddddoooouuuubbbblllleeee             ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
  46.  
  47.      vvvvooooiiiidddd ssssssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  48.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  49.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  50.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
  51.            ffffllllooooaaaatttt              aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  52.            ffffllllooooaaaatttt              ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
  53.  
  54.      vvvvooooiiiidddd zzzzssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  55.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  56.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  57.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
  58.            ZZZZoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  59.            ZZZZoooommmmpppplllleeeexxxx           ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____SSSSYYYYRRRRKKKK((((3333FFFF))))                                                            ____SSSSYYYYRRRRKKKK((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      vvvvooooiiiidddd ccccssssyyyyrrrrkkkk(((( uuuupppplllloooo,,,, ttttrrrraaaannnnssss,,,, nnnn,,,, kkkk,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbbeeeettttaaaa,,,, cccc,,,, llllddddcccc ))))
  75.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  76.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  77.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, llllddddcccc;;;;
  78.            CCCCoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  79.            CCCCoooommmmpppplllleeeexxxx           ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****cccc))))[[[[llllddddaaaa****nnnn]]]];;;;
  80.  
  81.  
  82.  
  83. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  84.      ddddssssyyyyrrrrkkkk ,,,, ssssssssyyyyrrrrkkkk ,,,, zzzzssssyyyyrrrrkkkk and ccccssssyyyyrrrrkkkk perform one of the matrix-matrix
  85.      operations
  86.  
  87.            C := alpha*A*A' + beta*C,
  88.  
  89.      or
  90.  
  91.            C := alpha*A'*A + beta*C,
  92.  
  93.      where alpha and beta are scalars, C is an n by n symmetric matrix and A
  94.      is an n by k matrix in the first case and a k by n matrix in the second
  95.      case.
  96.  
  97.  
  98. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  99.      uuuupppplllloooo    On entry, uuuupppplllloooo specifies whether the matrix is an upper or lower
  100.              triangular matrix as follows:
  101.  
  102.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  103.              uplo = 'U' or 'u'   Only the upper triangular part of C
  104.                                  is to be referenced.
  105.              uplo = 'L' or 'l'   Only the lower triangular part of C
  106.                                  is to be referenced.
  107.  
  108.              CCCC
  109.              uplo = UpperTriangle     Only the upper triangular part of C
  110.                                       is to be referenced.
  111.              uplo = LowerTriangle     Only the lower triangular part of C
  112.                                       is to be referenced.
  113.  
  114.              Unchanged on exit.
  115.  
  116.      ttttrrrraaaannnnssss   On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
  117.              follows:
  118.  
  119.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  120.              trans = 'N' or 'n'       C := alpha*A*A' + beta*C.
  121.              trans = 'T' or 't'       C := alpha*A'*A + beta*C.
  122.  
  123.              CCCC
  124.              trans = NoTranspose      C := alpha*A*A' + beta*C.
  125.              trans = Transpose        C := alpha*A'*A + beta*C.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ____SSSSYYYYRRRRKKKK((((3333FFFF))))                                                            ____SSSSYYYYRRRRKKKK((((3333FFFF))))
  137.  
  138.  
  139.  
  140.              Unchanged on exit.
  141.  
  142.      nnnn       On entry, nnnn specifies the order of the matrix C. nnnn must be at
  143.              least zero.
  144.              Unchanged on exit.
  145.  
  146.      kkkk       On entry with, trans = 'N' or 'n' or NoTranspose kkkk specifies the
  147.              number of columns of the matrix A, and on entry with trans = 'T'
  148.              or 't' or Transpose, kkkk specifies  the number of rows of the
  149.              matrix A.  K must be at least zero.
  150.              Unchanged on exit.
  151.  
  152.      aaaallllpppphhhhaaaa   specifies the scalar alpha.
  153.              Unchanged on exit.
  154.  
  155.      aaaa       An array containing the matrix A.
  156.  
  157.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  158.              Array of dimension (lda, ka).
  159.  
  160.              CCCC
  161.              A pointer to an array of size lda*ka.
  162.              See note below about array storage convention for C.
  163.  
  164.              kkkkaaaa is kkkk when transa = 'N' or 'n' or NoTranspose and is nnnn
  165.              otherwise.  Before entry with trans = 'N' or 'n' or NoTranspose,
  166.              the leading n by k part of the array aaaa must contain the matrix A,
  167.              otherwise the leading  k by n part of the array aaaa must contain
  168.              the matrix A.
  169.  
  170.              Unchanged on exit.
  171.  
  172.      llllddddaaaa     On entry, llllddddaaaa specifies the first dimension of aaaa as declared in
  173.              the calling (sub) program. When  transa = 'N' or 'n' or
  174.              NoTranspose, then lda must be at least max( 1, n ), otherwise lda
  175.              must be at least  max( 1, k ).
  176.              Unchanged on exit.
  177.  
  178.      bbbbeeeettttaaaa    On entry, bbbbeeeettttaaaa specifies the scalar beta.
  179.              Unchanged on exit.
  180.  
  181.      cccc       An array containing the matrix C.
  182.  
  183.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  184.              An array of dimension ( ldc, n ).
  185.  
  186.              CCCC
  187.              A pointer to an array of size ldc*n.
  188.              See note below about array storage convention for C.
  189.  
  190.              Before entry  with uplo = 'U' or 'u' or UpperTraingle, the
  191.              leading  n by n triangular part  of the  symmetric matrix  and
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ____SSSSYYYYRRRRKKKK((((3333FFFF))))                                                            ____SSSSYYYYRRRRKKKK((((3333FFFF))))
  203.  
  204.  
  205.  
  206.              the strictly lower triangular part of C is not referenced.  On
  207.              exit, the upper triangular part of the array  C is overwritten by
  208.              the upper triangular part of the updated matrix.
  209.  
  210.              Before entry  with  uplo = 'L' or 'l',  the leading  n by n lower
  211.              triangular part of the array C must contain the lower triangular
  212.              part  of the  symmetric matrix  and the strictly upper triangular
  213.              part of C is not referenced.  On exit, the lower triangular part
  214.              of the array  C is overwritten by the lower triangular part of
  215.              the updated matrix.
  216.  
  217.      llllddddcccc     On entry, llllddddcccc specifies the first dimension of cccc as declared in
  218.              the calling (sub) program. llllddddcccc must be at least max( 1, n ).
  219.  
  220.              Unchanged on exit.
  221.  
  222.  
  223.  
  224. CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
  225.        The matrices  are assumed  to be stored in a  oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
  226.        in an analogous fashion as a Fortran array (column major). Therefore,
  227.        the element  A(i+1,j)  of matrix A  is stored  immediately  after the
  228.        element  A(i,j), while  A(i,j+1) is lda  elements apart from  A(i,j).
  229.        The element A(i,j) of the matrix can be accessed directly by reference
  230.        to  a[ (j-1)*lda + (i-1) ].
  231.  
  232.  
  233. AAAAUUUUTTTTHHHHOOOORRRRSSSS
  234.           Jack Dongarra, Argonne National Laboratory.
  235.           Iain Duff, AERE Harwell.
  236.           Jeremy Du Croz, Numerical Algorithms Group Ltd.
  237.           Sven Hammarling, Numerical Algorithms Group Ltd.
  238.  
  239.  
  240. TTTTUUUUNNNNIIIINNNNGGGG
  241.           Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.